home *** CD-ROM | disk | FTP | other *** search
/ Freelog 125 / Freelog_MarsAvril2015_No125.iso / Musique / Quod Libet / quodlibet-3.3.0-installer.exe / bin / xml / dom / minicompat.pyc (.txt) < prev    next >
Python Compiled Bytecode  |  2014-12-31  |  3KB  |  87 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.7)
  3.  
  4. '''Python version compatibility support for minidom.'''
  5. __all__ = [
  6.     'NodeList',
  7.     'EmptyNodeList',
  8.     'StringTypes',
  9.     'defproperty']
  10. import xml.dom as xml
  11.  
  12. try:
  13.     unicode
  14. except NameError:
  15.     StringTypes = (type(''),)
  16.  
  17. StringTypes = (type(''), type(unicode('')))
  18.  
  19. class NodeList(list):
  20.     __slots__ = ()
  21.     
  22.     def item(self, index):
  23.         if index <= index:
  24.             pass
  25.         elif index < len(self):
  26.             return self[index]
  27.  
  28.     
  29.     def _get_length(self):
  30.         return len(self)
  31.  
  32.     
  33.     def _set_length(self, value):
  34.         raise xml.dom.NoModificationAllowedErr("attempt to modify read-only attribute 'length'")
  35.  
  36.     length = property(_get_length, _set_length, doc = 'The number of nodes in the NodeList.')
  37.     
  38.     def __getstate__(self):
  39.         return list(self)
  40.  
  41.     
  42.     def __setstate__(self, state):
  43.         self[:] = state
  44.  
  45.  
  46.  
  47. class EmptyNodeList(tuple):
  48.     __slots__ = ()
  49.     
  50.     def __add__(self, other):
  51.         NL = NodeList()
  52.         NL.extend(other)
  53.         return NL
  54.  
  55.     
  56.     def __radd__(self, other):
  57.         NL = NodeList()
  58.         NL.extend(other)
  59.         return NL
  60.  
  61.     
  62.     def item(self, index):
  63.         pass
  64.  
  65.     
  66.     def _get_length(self):
  67.         return 0
  68.  
  69.     
  70.     def _set_length(self, value):
  71.         raise xml.dom.NoModificationAllowedErr("attempt to modify read-only attribute 'length'")
  72.  
  73.     length = property(_get_length, _set_length, doc = 'The number of nodes in the NodeList.')
  74.  
  75.  
  76. def defproperty(klass, name, doc):
  77.     get = getattr(klass, '_get_' + name).im_func
  78.     
  79.     def set(self, value, name = name):
  80.         raise xml.dom.NoModificationAllowedErr('attempt to modify read-only attribute ' + repr(name))
  81.  
  82.     if not not hasattr(klass, '_set_' + name):
  83.         raise AssertionError('expected not to find _set_' + name)
  84.     prop = None(get, set, doc = doc)
  85.     setattr(klass, name, prop)
  86.  
  87.